10 POKE53280,0:POKE53281,0:POKE828,1 20 PRINT"[147]"TAB(13)"POWER SQUARES" 30 PRINTTAB(93)"BY JOHN FEDOR" 40 GOSUB680:GOSUB960:PRINT" HOW MANY PLAYERS (D, 1 OR 2) ? "; 50 POKE198,0 60 GETA$:IF(A$<"1"ORA$>"2")ANDA$<>"D"THEN60 70 PRINTA$ 80 PL=VAL(A$) 90 DIM A(5,5):REM THE GRID 100 Z=1:POKEV,100:POKEV+1,76 110 FORY=1TO5:FORX=1TO5 120 IFX=3ANDY=3THEN140 130 A(X,Y)=Z+1 140 Z=1-Z:NEXTX,Y 150 PRINT"[147]":TU=1 151 PRINT""TAB(32)"[159][172][162][162][162][162][162][187]" 152 PRINTTAB(32)"[161] [146][159][161]" 153 PRINTTAB(32)"[161] [146][159][161]" 154 PRINTTAB(32)"[161]  [146][159][161]" 155 PRINTTAB(32)"[161] [146][159][161]" 156 PRINTTAB(32)"[161] [146][159][161]" 157 PRINTTAB(32)"[188][162][162][162][162][162][146][190]" 158 PRINT"" 160 PRINTTAB(11)"[159] [146]" 170 FORY=1TO15 180 PRINTTAB(11)"  " 190 NEXTY 200 PRINTTAB(11)"[159] [146]" 210 C$(1)="":C$(2)="":C$(0)="[144]":WI=0 220 PRINT""TAB(12);:FORY=1TO5:FORX=1TO5 230 PRINTC$(A(X,Y))" [157][157][157] [157][157][157] [145][145]"; 240 NEXTX:PRINT""CHR$(13)TAB(12):NEXTY 245 IFWI<>0THEN800 250 T$(1)="BLUE":T$(2)="RED" 260 PRINT""T$(TU)"'S TURN ":POKEV+21,1 270 IFTU=2ANDPL=1ORPL=0THEN750 280 IF(PEEK(56322-TU)AND16)<>16THEN280 290 X=(PEEK(V)-100)/24+1 300 Y=(PEEK(V+1)-76)/24+1 310 J=(PEEK(56322-TU)AND15) 320 IF(JAND1)=1THENY=Y+1 330 IF(JAND2)=2THENY=Y-1 340 IF(JAND4)=4THENX=X+1 350 IF(JAND8)=8THENX=X-1 360 IFX=0THENX=1 370 IFX=6THENX=5 380 IFY=0THENY=1 390 IFY=6THENY=5 400 POKEV,100+(X-1)*24:POKEV+1,76+(Y-1)*24 410 IF(PEEK(56322-TU)AND16)=16THEN290 420 IFA(X,Y)<>TUTHEN290 422 REM COMPARE TO SEE IF ON SAME X / Y 430 FORI=-5TO5:IFX+I<1ORX+I>5THEN443 432 IFA(X+I,Y)<>0 THEN 443 435 K=SGN(I):FOR I1= I TO 0 STEP-K 437 IF X+I1-K<1 OR X+I1-K>5THEN440 438 A(X+I1,Y)=A(X+I1-K,Y) 440 NEXTI1:GOTO480 443 NEXTI 445 FORI=-5TO5:IFY+I<1ORY+I>5THEN455 446 IFA(X,Y+I)<>0 THEN 455 447 K=SGN(I):FOR I1=I TO 0 STEP-K 448 IF Y+I1-K<1 OR Y+I1-K>5THEN451 450 A(X,Y+I1)=A(X,Y+I1-K) 451 NEXTI1:GOTO480 455 NEXTI 470 GOTO270 480 A(X,Y)=0 490 TU=TU+1:IFTU=3THENTU=1 500 FORY1=-5TO5:FORX1=-5TO5 510 IFX1<>0 AND Y1<>0THEN550 520 IFY+Y1<1ORY+Y1>5ORX+X1<1ORX+X1>5THEN550 530 IFA(X+X1,Y+Y1)<>TUTHEN550 540 FORY1=1TO1:FORX1=1TO1:NEXTX1,Y1:GOTO560 550 NEXTX1,Y1:GOTO490 560 FORY=1TO2:FORX=1TO5:IFA(X,Y)=1THENNEXTX,Y:IFA(1,3)=1ANDA(2,3)=1THENWI=1 570 FORY=4TO5:FORX=1TO5:IFA(X,Y)=2THENNEXTX,Y:IFA(4,3)=2ANDA(5,3)=2THENWI=2 580 GOTO220 600 DATA0,0,0,0,0,0,0,0 610 DATA0,0,0,0,0,0,0,0 620 DATA0,0,0,0,0,0,127,252 630 DATA0,127,252,0,96,12,0,96 640 DATA12,0,96,12,0,96,12,0 650 DATA96,12,0,96,12,0,96,12 660 DATA0,96,12,0,127,252,0,127 670 DATA252,0,0,0,0,0,0,0 680 FORI=0TO63:READA:POKE832+I,A:NEXTI 685 FORI=49152TO49206:READA:POKEI,A:NEXT:SYS49152 690 V=53248 700 POKEV+21,0:POKEV+23,1:POKEV+29,1 710 POKEV+28,0:POKEV+39,1 720 POKE2040,13 730 POKEV,148:POKEV+1,124 740 RETURN 750 REM COMPUTER'S TURN 755 Y1=INT(RND(1)*5)+1 760 X1=INT(RND(1)*5)+1 764 IFT4(TU)=X1+(Y1)*6THEN755 766 T4(TU)=X+(Y)*6 767 POKEV,76+(X1)*24:POKEV+1,52+(Y1)*24 770 IFA(X1,Y1)<>TUTHEN755 780 X=X1:Y=Y1:GOTO420 800 REM END OF GAME 810 POKEV+21,0 820 FORX=0TO255:POKE53281,X:POKE53280,255-X:NEXTX 830 POKE53280,0:POKE53281,0 840 X1=2:IFWI=1THENX1=6 850 POKE53280,X1 860 PRINT"[147]"T$(WI)" WON!!!" 870 PRINTTAB(6)"PRESS TO PLAY AGAIN" 875 PRINTTAB(7)"OR PRESS EITHER FIREBUTTON" 880 POKE198,0 890 GETA$:IFA$<>CHR$(13)AND(PEEK(56321)AND16)=16AND(PEEK(56320)AND16)=16THEN890 895 POKE198,0:RUN 900 DATA120,169,13,141,20,3,169,192 910 DATA141,21,3,88,96,172,60,3,136 920 DATA140,60,3,208,24,160,5,140,60 930 DATA3,174,61,3,189,49,192,141,39 940 DATA208,232,224,6,208,2,162,0,142 950 DATA61,3,76,49,234,1,3,14,6,14,3 960 PRINT""TAB(17)" " 962 FORX=1TO3 965 PRINTTAB(17)"   " 970 NEXTX 975 PRINTTAB(17)" [146]" 980 PRINT"" 990 POKEV,149:POKEV+1,164:POKEV+21,1 995 RETURN